In various wired or wireless networks, communication channels may be corrupted by various channel conditions, such as severe fading, strong intersymbol interference, dispersion etc. Adaptation of transmit signals to the channel conditions can bring a large improvement to the transmission rate, therefore enhancing the capacity of the transmission, as well as to the reliability of the transmission, therefore enhancing its robustness.
In a multicarrier system, the communication channel is partitioned into parallel independent subchannels or subcarriers, the partitioning being achievable through various methods, such as using Discrete Fourier Transform (DFT). In some cases, for a fading channel, partitioning is obtained by assuming independent and identically distributed fading statistics.
Two common forms of multicarrier modulation serving as the basis for several wireless and wired standards are Orthogonal Frequency Division Multiplexing (OFDM) and Discrete Multi-tone Modulation (DMT). Both of these techniques use DFT to achieve independency of subchannels. In these techniques, each sub-carrier can be independently modulated by using a linear modulation technique such as Binary Phase Shift Keying (BPSK), Quadrature Phase Shift Keying (QPSK) and M-ary quadrature amplitude modulation (M-QAM).
The schemes for assigning energy and bits to subcarriers, associated with these multicarrier modulation techniques, are known as loading algorithms. For example, U.S. Pat. No. 6,798,735 to Tzannes et al and U.S. Pat. No. 6,904,082 to Jones, incorporated herein by reference, describe common bit loading algorithms know in the art, such as Hughes-Hartogs and Chow et al., as well as two recent prior-art multicarrier bit allocation scheme. With respect to energy loading, the waterfill or water pouring algorithm is a spectral shaping scheme for distributing energy or transmitter power among subcarriers. “Water pouring” was introduced by Gallager in 1968 (“Information Theory and Reliable Communication”, page 389) and by Wozencraft in 1965 (“Principles of Communication Engineering”, pp. 285-357). In general, water pouring involves distributing the energy of the transmission signal according to the channel frequency response curve, which in some cases, such as systems mostly subjected to additive white Gaussian noise (AWGN), can be seen as a plot of the signal to noise ratio (SNR) as a function of frequency. The frequency response curve is inverted and the available signal energy (the “water”) is “poured” into the inverted curve so that more of the energy is distributed into those portions of the channel having the highest signal to noise ratio. In a multicarrier system in which the transmission band is divided into numerous subchannels, throughput can be maximized by putting as many bits in each subcarrier as can be supported given the “water pouring” energy and a desired error rate. The waterfill algorithm is known to be difficult to implement in practice.